classdef HEDTags
	%HEDTags V8.3

	properties
		name
		id
		comment
	end
	
	enumeration
		% Event/
		Sensory_event ("Event/Sensory-event","","")
		Agent_action ("Event/Agent-action","","")
		Data_feature ("Event/Data-feature","","")
		Experiment_control ("Event/Experiment-control","","")
		Experiment_procedure ("Event/Experiment-procedure","","")
		Experiment_structure ("Event/Experiment-structure","","")
		Measurement_event ("Event/Measurement-event","","")
		% Agent/
		Animal_agent ("Agent/Animal-agent","","")
		Avatar_agent ("Agent/Avatar-agent","","")
		Controller_agent ("Agent/Controller-agent","","")
		Human_agent ("Agent/Human-agent","","")
		Robotic_agent ("Agent/Robotic-agent","","")
		Software_agent ("Agent/Software-agent","","")
		% Action/Move/Breathe
		Blow ("Blow","","")
		Cough ("Cough","","")
		Exhale ("Exhale","","")
		Hiccup ("Hiccup","","")
		Hold_breath ("Hold-breath","","")
		Inhale ("Inhale","","")
		Sneeze ("Sneeze","","")
		Sniff ("Sniff","","")
		% Action/Move/Move-body/
		Bend ("Bend","","")
		Dance ("Dance","","")
		Fall_down ("Fall-down","","")
		Flex ("Flex","","")
		Jerk ("Jerk","","")
		Lie_down ("Lie-down","","")
		Recover_balance ("Recover-balance","","")
		Shudder ("Shudder","","")
		Sit_down ("Sit-down","","")
		Sit_up ("Sit-up","","")
		Stand_up ("Stand-up","","")
		Stretch ("Stretch","","")
		Stumble ("Stumble","","")
		Turn ("Turn","","")
		% Action/Move/Move-body-part/Move-eyes
		Blink ("Blink","","")
		Close_eyes ("Close-eyes","","")
		Fixate ("Fixate","","")
		Inhibit_blinks ("Inhibit-blinks","","")
		Open_eyes ("Open-eyes","","")
		Saccade ("Saccade","","")
		Squint ("Squint","","")
		Stare ("Stare","","")
		% Action/Perceive
		Hear ("Hear","","")
		See ("See","","")
		Sense_by_touch ("Sense-by-touch","","")
		Smell ("Smell","","")
		Taste ("Taste","","")
		% Action/Perform
		Close ("Close","","")
		Collide_with ("Collide-with","","")
		Halt ("Halt","","")
		Modify ("Modify","","")
		Open ("Open","","")
		Operate ("Operate","","")
		Play ("Play","","")
		Read ("Read","","")
		Repeat ("Repeat","","")
		Rest ("Rest","","")
		Ride ("Ride","","")
		Write ("Write","","")
		% Action/Think
		Allow ("Allow","","")
		Attend_to ("Attend-to","","")
		Count ("Count","","")
		Deny ("Deny","","")
		Detect ("Detect","","")
		Discriminate ("Discriminate","","")
		Encode ("Encode","","")
		Evade ("Evade","","")
		Generate ("Generate","","")
		Identify ("Identify","","")
		Imagine ("Imagine","","")
		Judge ("Judge","","")
		Learn ("Learn","","")
		Memorize ("Memorize","","")
		Plan ("Plan","","")
		Predict ("Predict","","")
		Recall ("Recall","","")
		Recognize ("Recognize","","")
		Respond ("Respond","","")
		Switch_attention ("Switch-attention","","")
		Track ("Track","","")
		% Sensory-attribute
		Luminance ("Luminance","","")
		Luminance_contrast ("Luminance-contrast","","")
		Opacity ("Opacity","","")
		% Sensory-presentation/Visual-presentation
		twoD_view ("2D-view","","")
		threeD_view ("3D-view","","")
		Background_view ("Background-view","","")
		Foreground_view ("Foreground-view","","")
		Foveal_view ("Foveal-view","","")
		Map_view ("Map-view","","")
		Peripheral_view ("Peripheral-view","","")
		Aerial_view ("Aerial-view","","")
		Satellite_view ("Satellite-view","","")
		Street_view ("Street-view","","")
		% Property/Date-Property
		Data_artifact ("Data-artifact","","")
		Data_marker ("Property/Data-property/Data-marker","","")
		Temporal_marker ("Data-marker/Temporal-marker","","")
		Inset ("Data-marker/Temporal-marker/Inset","","")
		Offset ("Data-marker/Temporal-marker/Offset","","")
		Onset ("Data-marker/Temporal-marker/Onset","","")
		Pause ("Data-marker/Temporal-marker/Pause","","")
		Time_out ("Data-marker/Temporal-marker","","")
		Time_sync ("Data-marker/Temporal-marker/Time-sync","","")
		Data_resolution ("Data-resolution","","")
		Data_source_type ("Data-source-type","","")
		Computed_feature  ("Data-source-type/Computed-feature","","")
		Computed_prediction  ("Data-source-type/Computed-prediction","","")
		Expert_annotation  ("Data-source-type/Expert-annotation","","")
		Instrument_measurement  ("Data-source-type/Instrument-measurement","","")
		Observation ("Data-source-type/Observation","","")
		Data_value ("Data-value","","")
		Data_variability_attribute ("Data-variability-attribute","","")
		% Property/Informational-property
		Description ("Description","","")
		ID ("ID","","")
		Label ("Label","","")
		Creation_date ("Creation-date","","")
		Experimental_note ("Experimental-note","","")
		Library_name ("Library-name","","")
		CogAtlas ("CogAtlas","","")
		CogPo ("CogPo","","")
		DOI ("DOI","","")
		OBO_identifier ("OBO-identifier","","")
		Species_identifier ("Species-identifier","","")
		Subject_identifier ("Subject-identifier","","")
		UUID ("UUID","","")
		Version_identifier ("Version-identifier","","")
		Modified_date ("Modified-date","","")
		Pathname ("Pathname","","")
		URL ("URL","","")
		Parameter ("Parameter","","")
		Parameter_label ("Parameter-label","","")
		Parameter_value ("Parameter-value","","")
		Organizational_property ("Organizational-property","","")
		Collection ("Collection","","")
		Condition_variable ("Condition-variable","","")
		Control_variable ("Control-variable","","")
		Def_expand ("Def-expand","","")
		Definition ("Definition","","")
		Event_context ("Event-context","","")
		Event_stream ("Event-stream","","")
		Experimental_intertrial ("Experimental-intertrial","","")
		Experimental_trial ("Experimental-trial","","")
		Indicator_variable ("Indicator-variable","","")
		Recording ("Recording","","")
		Task ("Task","","")
		Time_block ("Time-block","","")
		% Task-property Task-action-type
		Appropriate_action ("Appropriate-action","","")
		Correct_action ("Correct-action","","")
		Correction ("Correction","","")
		Done_indication ("Done-indication","","")
		Imagined_action ("Imagined-action","","")
		Inappropriate_action ("Inappropriate-action","","")
		Incorrect_action ("Incorrect-action","","")
		Indeterminate_action ("Indeterminate-action","","")
		Miss ("Miss","","")
		Near_miss ("Near-miss","","")
		Omitted_action ("Omitted-action","","")
		Ready_indication ("Ready-indication","","")
		%  Task-property Task-event-role
		Experimental_stimulus ("Experimental-stimulus","","")
		Incidental ("Incidental","","")
		Instructional ("Instructional","","")
		Mishap ("Mishap","","")
		Participant_response ("Participant-response","","")
		Task_activity ("Task-activity","","")
		Warning ("Warning","","")
		% Task-property Task-stimulus-role
		Cue ("Cue","","")
		Distractor ("Distractor","","")
		Expected ("Expected","","")
		Extraneous ("Extraneous","","")
		Feedback ("Feedback","","")
		Go_signal ("Go-signal","","")
		Meaningful ("Meaningful","","")
		Newly_learned ("Newly-learned","","")
		Non_informative ("Non-informative","","")
		Non_target ("Non-target","","")
		Not_meaningful ("Not-meaningful","","")
		Novel ("Novel","","")
		Oddball ("Oddball","","")
		Penalty ("Penalty","","")
		Planned ("Planned","","")
		Priming ("Priming","","")
		Query ("Query","","")
		Reward ("Reward","","")
		Stop_signal ("Stop-signal","","")
		Target ("Target","","")
		Threat ("Threat","","")
		Timed ("Timed","","")
		Unexpected ("Unexpected","","")
		Unplanned ("Unplanned","","")
		% Temporal-relation
		After ("After","","")
		Asynchronous_with ("Asynchronous-with","","")
		Before ("Before","","")
		During ("During","","")
		Synchronous_with ("Synchronous-with","","")
		Waiting_for ("Waiting-for","","")
	end

	methods
		function tag = HEDTags(name,id,comment)
			tag.name = name;
			tag.id = id;
			tag.comment = comment;
		end
	end
	methods(Static = true)
		function tags = getTags()
			e = enumeration('HEDTags');
			tags = [e(:).name];
		end
	end
end